thinkingParticles offers many powerful features that are generally new
to 3ds Max users. One new feature is the use of Hierarchies
to arrange animation events and objects in your 3D scenes. The Particle
Group Tree View is the place within thinkingParticles where you set up
these new hierarchies and enables you to freely arrange how particles
are grouped together.
The Particle Group Tree View
Nearly all of the advanced effects that you can create within the system
are based on the fact that thinkingParticles is able to store particles
in separate Groups. Those Groups are like containers
that encapsulate the particles placed within them. These containers can
also contain other smaller containers and so on. By creating and using
these groups, and placing them into a single hierarchy
you can create particle animations where only certain particles (those
within a specific Group) get affected by a set of conditions or rules
while other groups of particles aren't affected at all. What's more is
that particles that reside in one Group are not permanently locked or
associated with that group. Particles can be passed from one Group to
another within the system at any time, based on any set of rules or conditions
you set up.
Now by default, thinkingParticles uses the ALL Group as
the base container to store particles when no other groups are available.
The ALL Group is a permanent, base Group and can't be deleted or moved
by the user. It also acts as the Root of any hierarchy and branches you
create. This gives you the ability to access all of the particles in your
particle system regardless of the hierarchy - simply select the All Group
and make your changes here.
A practical example for using groups and hierarchies can be explained as
follows:
Imagine you were given the complex 3D scene to animate described in the
Introduction where you need to animate a spaceship taking off, flying
through a meteor shower, and then getting hit by some meteors. When the
meteors collide with the ship, they are supposed to create debris and
cause damage to the spaceship’s hull.
More than likely, you would have to create several particle systems
to handle the various tasks such as the rocket smoke for takeoff, the
meteors, the collision meteors, debris, etc. Then you would have the task
of trying to coordinate everything so that the particle animations are
synced up with the rocket and meteor motion and believable.
thinkingParticles however, allows you to build a single particle system
that handles all aspects of the particle animation required. This is an
important concept: thinkingParticles only needs ONE particle system to
create multiple particle animations. This is due to the nature of the
Particle Groups and hierarchies. You can build one Group of particles
that will represent the meteors, another to represent the rocket exhaust,
another to represent the debris, and so on. Each group in the hierarchy
can also have sub-groups, so for instance, the debris group could have
a sub-group called dust that would represent the small particulate matter
that flies off of the debris chunks as they spiral away after the collision.
There is no limit to how you can create your hierarchies.
Now while you may think that this one system approach may make the setup
more complicated, in fact, it offers you not only a single centralized
control point to tweak all of your particles, but also removes the need
to "time" everything so it is in sync. Since thinkingParticles
is rule-based, if the client wanted to later change the timing of one
of your particle animations (perhaps the rocket was to fly through slower
or faster), it would not be necessary to re-work the new sections; the
rules would automatically account for the changes and react accordingly.
There are several things you need to consider when you want to make
heavy use of particle groups. First thing you should do before you start
creating groups is to do some planning and think about the how you'd like
to set up your Groups and hierarchies. Try to determine the different
kinds of particles you want in your scene (based on behavior, interaction,
etc.) and break them down accordingly. The more planning that you do prior
to diving into your animation, the fewer surprises you will have once
you get into it. Of course, thinkingParticles does allow for the creation
and manipulation of Particle Groups at any time, so if you don't anticipate
everything at the beginning, you won't have to start from scratch.
To create new Particle Groups, simply click on the Create
button beneath the Tree View. Once you've got a new Group created it will
be named Group by default. As this name is not terribly
descriptive and is given to all groups you create, when you generate a
new group you are strongly encouraged to rename it immediately to something
more recognizable.
To rename a created Particle Group you should take your mouse and perform
a slow left-click over the name. This process is identical
to renaming a file using standard Windows controls. You'll click once
to select the group (it will highlight), then do the slow left-click to
open up the naming dialog.
Once you have several groups, you might decide that you want to re-order
them or make one group a sub-group of another group.
To do simple re-ordering of the various groups, you can use the UP
and DOWN buttons beneath the Tree View. You also have
the ability to drag-and-drop one Group onto another in
order to make it a sub-group of that group. This process is sometimes
called nesting, and it is discussed in more detail below.
You can even drag and drop groups onto the All Group to effectively bring
them back up to the main branch level.
To see the Creation and Manipulation of Particle Groups in action, watch
the small Shockwave Flash movie below (you can right-click and choose
Play to start the video over).
As it is really essential for you to understand how the Groups and Hierarchies
work together and inter-relate, let's look at a more complicated setup.
Check out the sample particle Groups in the illustration below.

In the illustration above you can see that there are 3 main particle Groups
(All, New Particles and BurnOutSmoke) along with 5 nested particle groups
(SpaceshipFragments, CarFragments, Bullets, Gunsmoke and LeftWheel) and
each particle group can be individually accessed by its name simply by
clicking on it. Whenever you create a Sub-Group of particles, any rules
that affect the upper group in the hierarchy will affect the particles
in the sub-group. So if you apply a set of rules to the Bullets group,
the same rules will apply to Gunsmoke sub-group as well.
One more important bit of information regarding Groups. When you create
them in the Particle Group Tree View window, they are also automatically
created in the Groups Create Rollout (shown below). This
is done so that you can use these groups within the Wire Setup View. Moreover,
the Group nodes created will share the same naming conventions as within
the Particle View Tree View. In the image below you can see that all of
the groups from the example above also exist within the Create rollouts
with the same names.

As you can see, creating and organizing your particle groups is a key
to success with thinkingParticles.
While it is highly recommended that you move ahead and get introduced to
another major concept within thinkingParticles: DynamicSets,
if you prefer you can click on any of the topics that interest you.